home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / COMPILER / GUAVAC / !Guavac / doc / README < prev    next >
Text File  |  1997-11-10  |  4KB  |  96 lines

  1. README file for guavac, version 1.0
  2.  
  3. Guavac is a compiler for the Java language, written by Effective Edge
  4. Technologies and distributed under the Gnu Public License.  You should feel
  5. free to use, copy and modify it, based on the terms in the COPYING file
  6. included in this distribution.
  7. We are distributing guavac free of charge in the hopes that other people will
  8. find it useful and possibly enhance its utility in turn.
  9.  
  10. Guavac should produce correct bytecode for valid Java input, but you may
  11. encounter some difficulties in compiling guavac itself, due inadequate
  12. tools on some platforms.
  13.  
  14. Guavac is written in C++, so it requires a decent C++ compiler and a class
  15. library that implements the C++ libraries defined in the current C++
  16. standard.  To be more specific, guavac uses a few STL collection classes
  17. (like map and deque) as well as the standard string class which is used
  18. for Java's 16-bit (Unicode) strings.  This has only been tested using gcc
  19. (version 2.7.2) and libg++ (version 2.7.1), which seem to work out
  20. of the box on Linux, OSF, Irix and Solaris.
  21.      *********>>>>> Older versions of gcc will NOT work. <<<<<*********
  22.  
  23. The C++ code used should be reasonably portable to an alternate C++ compiler
  24. that also supports the standard templates.  The only blatantly non-portable
  25. code that may require changing is in dynamic_cast.h.  Read the comments there
  26. for more information.
  27.  
  28.  
  29. ============================= Installing guavac: =============================
  30.  
  31. To install guavac, you can follow the standard Gnu compilation steps:
  32.  
  33.    cd guavac-1.0
  34.    ./configure
  35.    make
  36.  
  37. At this point, the binaries will be compiled in the source directory, and you
  38. can use them directly from there.  As an alternative, you can install the
  39. binaries into a central location using:
  40.  
  41.    make install
  42.  
  43. This will, by default, copy guavac and its associated files into directories
  44. off of /usr/local.  To install somewhere else, use the --prefix option with
  45. configure.  For example:
  46.  
  47.    ./configure --prefix=/usr/gnu
  48.  
  49. If you can't make compilation work, you could contact the guavac mailing
  50. list for assistance.  (see the RELEASE file for more information.)
  51.  
  52. By default, this compiles with debugging on and optimization off.  If you want
  53. to try it the other way around, modify the CFLAGS in the top-level Makefile
  54. before you compile.  The current version of gcc has a bug that makes this
  55. fail in different ways on some platforms, so we can't currently promise that
  56. any set of flags other than '-g' will work.
  57.  
  58.  
  59. ================================ Running guavac: ==============================
  60.  
  61. Guavac looks for standard Java libraries in one of three places.  If you
  62. have installed the binaries using 'make install', then guavac will look for
  63. java interfaces in your current directory and in its own data directory.
  64.  
  65. If you specify the CLASSPATH environment variable, it will search the
  66. colon-separated entries for the pre-compiled classes that it uses.  Each
  67. entry can be either a directory or a zip file of classes.
  68. If you have netscape or Sun's JDK on your machine, you can compile against
  69. their class archives like this (under csh):
  70.    setenv CLASSPATH .:/usr/local/netscape/java/classes/moz3_0.zip
  71.  
  72. Once you have installed guavac, or have the CLASSPATH set, you can just invoke
  73. guavac with a Java file name:
  74.    guavac foo.java
  75.  
  76. Alternately, you can use the -classpath compiler flag:
  77.    guavac -classpath .:/usr/local/netscape/java/classes/moz3_0.zip foo.java
  78.  
  79.  
  80. ================================= Running guavad: ============================
  81.  
  82. I've included a simple disassembler that is similar to Sun's 'javap -c', only
  83. offering an even lower-level view of the compiled class.  You can try this out
  84. by giving it a compiled .class file as an argument:
  85.    guavad Foo.class
  86.  
  87. The output of the disassembler probably won't make any sense unless you have
  88. Sun's VM spec right next to you.  (Available somewhere at http://java.sun.com)
  89.  
  90.  
  91. Feel free to contact us with feedback of any sort.
  92.   Effective Edge
  93.   info@eecs.com
  94.  
  95. $Id: README,v 1.19 1997/11/10 00:46:52 geppetto Exp $
  96.